\pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 #========= THIS IS THE JARGON FILE, VERSION 2.9.10, 01 JUL 1992 =========#\
This is the Jargon File, a comprehensive compendium of hacker slang\
illuminating many aspects of hackish tradition, folklore, and humor.\
This document (the Jargon File) is in the public domain, to be freely\
used, shared, and modified. There are (by intention) no legal\
restraints on what you can do with it, but there are traditions about\
its proper use to which many hackers are quite strongly attached.\
Please extend the courtesy of proper citation when you quote the File,\
ideally with a version number, as it will change and grow over time.\
(Examples of appropriate citation form: "Jargon File 2.9.10" or\
"The on-line hacker Jargon File, version 2.9.10, 01 JUL 1992".)\
The Jargon File is a common heritage of the hacker culture.\
Over the years a number of individuals have volunteered considerable\
time to maintaining the File and been recognized by the net at large\
as editors of it. Editorial responsibilities include: to collate\
contributions and suggestions from others; to seek out corroborating\
information; to cross-reference related entries; to keep the file in a\
consistent format; and to announce and distribute updated versions\
periodically. Current volunteer editors include:\
Eric Raymond eric@snark.thyrsus.com (215)-296-5718\
Although there is no requirement that you do so, it is considered good\
form to check with an editor before quoting the File in a published work\
or commercial product. We may have additional information that would be\
helpful to you and can assist you in framing your quote to reflect\
not only the letter of the File but its spirit as well.\
All contributions and suggestions about this file sent to a volunteer\
editor are gratefully received and will be regarded, unless otherwise\
labelled, as freely given donations for possible use as part of this\
public-domain file.\
From time to time a snapshot of this file has been polished, edited,\
and formatted for commercial publication with the cooperation of the\
volunteer editors and the hacker community at large. If you wish to\
have a bound paper copy of this file, you may find it convenient to\
purchase one of these. They often contain additional material not\
found in on-line versions. The two `authorized' editions so far are\
described in the Revision History section; there may be more in the\
future.\
:Introduction:\
**************\
:About This File:\
=================\
This document is a collection of slang terms used by various subcultures\
of computer hackers. Though some technical material is included for\
background and flavor, it is not a technical dictionary; what we\
describe here is the language hackers use among themselves for fun,\
social communication, and technical debate.\
The `hacker culture' is actually a loosely networked collection of\
subcultures that is nevertheless conscious of some important shared\
experiences, shared roots, and shared values. It has its own myths,\
heroes, villains, folk epics, in-jokes, taboos, and dreams. Because\
hackers as a group are particularly creative people who define\
themselves partly by rejection of `normal' values and working habits, it\
has unusually rich and conscious traditions for an intentional culture\
less than 35 years old.\
As usual with slang, the special vocabulary of hackers helps hold their\
culture together --- it helps hackers recognize each other's places in\
the community and expresses shared values and experiences. Also as\
usual, *not* knowing the slang (or using it inappropriately) defines one\
as an outsider, a mundane, or (worst of all in hackish vocabulary)\
possibly even a \{suit\}. All human cultures use slang in this threefold\
way --- as a tool of communication, and of inclusion, and of exclusion.\
Among hackers, though, slang has a subtler aspect, paralleled perhaps in\
the slang of jazz musicians and some kinds of fine artists but hard to\
detect in most technical or scientific cultures; parts of it are code\
for shared states of *consciousness*. There is a whole range of altered\
states and problem-solving mental stances basic to high-level hacking\
which don't fit into conventional linguistic reality any better than a\
Coltrane solo or one of Maurits Escher's `trompe l'oeil' compositions\
(Escher is a favorite of hackers), and hacker slang encodes these\
subtleties in many unobvious ways. As a simple example, take the\
distinction between a \{kluge\} and an \{elegant\} solution, and the\
differing connotations attached to each. The distinction is not only of\
engineering significance; it reaches right back into the nature of the\
generative processes in program design and asserts something important\
about two different kinds of relationship between the hacker and the\
hack. Hacker slang is unusually rich in implications of this kind, of\
overtones and undertones that illuminate the hackish psyche.\
But there is more. Hackers, as a rule, love wordplay and are very\
conscious and inventive in their use of language. These traits seem to\
be common in young children, but the conformity-enforcing machine we are\
pleased to call an educational system bludgeons them out of most of us\
before adolescence. Thus, linguistic invention in most subcultures of\
the modern West is a halting and largely unconscious process. Hackers,\
by contrast, regard slang formation and use as a game to be played for\
conscious pleasure. Their inventions thus display an almost unique\
combination of the neotenous enjoyment of language-play with the\
discrimination of educated and powerful intelligence. Further, the\
electronic media which knit them together are fluid, `hot' connections,\
well adapted to both the dissemination of new slang and the ruthless\
culling of weak and superannuated specimens. The results of this\
process give us perhaps a uniquely intense and accelerated view of\
linguistic evolution in action.\
Hackish slang also challenges some common linguistic and\
anthropological assumptions. For example, it has recently become\
fashionable to speak of `low-context' versus `high-context'\
communication, and to classify cultures by the preferred context level\
of their languages and art forms. It is usually claimed that\
low-context communication (characterized by precision, clarity, and\
completeness of self-contained utterances) is typical in cultures\
which value logic, objectivity, individualism, and competition; by\
contrast, high-context communication (elliptical, emotive,\
nuance-filled, multi-modal, heavily coded) is associated with cultures\
which value subjectivity, consensus, cooperation, and tradition. What\
then are we to make of hackerdom, which is themed around extremely\
low-context interaction with computers and exhibits primarily\
"low-context" values, but cultivates an almost absurdly high-context\
slang style?\
The intensity and consciousness of hackish invention make a compilation\
of hacker slang a particularly effective window into the surrounding\
culture --- and, in fact, this one is the latest version of an evolving\
compilation called the `Jargon File', maintained by hackers themselves\
for over 15 years. This one (like its ancestors) is primarily a\
lexicon, but also includes `topic entries' which collect background or\
sidelight information on hacker culture that would be awkward to try to\
subsume under individual entries.\
Though the format is that of a reference volume, it is intended that the\
material be enjoyable to browse. Even a complete outsider should find\
at least a chuckle on nearly every page, and much that is amusingly\
thought-provoking. But it is also true that hackers use humorous\
wordplay to make strong, sometimes combative statements about what they\
feel. Some of these entries reflect the views of opposing sides in\
disputes that have been genuinely passionate; this is deliberate. We\
have not tried to moderate or pretty up these disputes; rather we have\
attempted to ensure that *everyone's* sacred cows get gored,\
impartially. Compromise is not particularly a hackish virtue, but the\
honest presentation of divergent viewpoints is.\
The reader with minimal computer background who finds some references\
incomprehensibly technical can safely ignore them. We have not felt it\
either necessary or desirable to eliminate all such; they, too,\
contribute flavor, and one of this document's major intended audiences\
--- fledgling hackers already partway inside the culture --- will\
benefit from them.\
A selection of longer items of hacker folklore and humor is included in\
\{appendix A\}. The `outside' reader's attention is particularly directed\
to \{appendix B\}, "A Portrait of J. Random Hacker". \{Appendix C\} is a\
bibliography of non-technical works which have either influenced or\
described the hacker culture.\
Because hackerdom is an intentional culture (one each individual must\
choose by action to join), one should not be surprised that the line\
between description and influence can become more than a little blurred.\
Earlier versions of the Jargon File have played a central role in\
spreading hacker language and the culture that goes with it to\
successively larger populations, and we hope and expect that this one\
will do likewise.\
:Of Slang, Jargon, and Techspeak:\
=================================\
Linguists usually refer to informal language as `slang' and reserve the\
term `jargon' for the technical vocabularies of various occupations.\
However, the ancestor of this collection was called the `Jargon File',\
and hackish slang is traditionally `the jargon'. When talking about the\
jargon there is therefore no convenient way to distinguish what a\
*linguist* would call hackers' jargon --- the formal vocabulary they\
learn from textbooks, technical papers, and manuals.\
To make a confused situation worse, the line between hackish slang and\
the vocabulary of technical programming and computer science is fuzzy,\
and shifts over time. Further, this vocabulary is shared with a wider\
technical culture of programmers, many of whom are not hackers and do\
not speak or recognize hackish slang.\
Accordingly, this lexicon will try to be as precise as the facts of\
usage permit about the distinctions among three categories:\
*`slang': informal language from mainstream English or non-technicalsubcultures (bikers, rock fans, surfers, etc).\
*`jargon': without qualifier, denotes informal `slangy' languagepeculiar to hackers --- the subject of this lexicon.\
*`techspeak': the formal technical vocabulary of programming, computerscience, electronics, and other fields connected to hacking.\
This terminology will be consistently used throughout the remainder of\
this lexicon.\
The jargon/techspeak distinction is the delicate one. A lot of\
techspeak originated as jargon, and there is a steady continuing uptake\
of jargon into techspeak. On the other hand, a lot of jargon arises\
from overgeneralization of techspeak terms (there is more about this in\
the "Jargon Construction" section below).\
In general, we have considered techspeak any term that communicates\
primarily by a denotation well established in textbooks, technical\
dictionaries, or standards documents.\
A few obviously techspeak terms (names of operating systems, languages,\
or documents) are listed when they are tied to hacker folklore that\
isn't covered in formal sources, or sometimes to convey critical\
historical background necessary to understand other entries to which\
they are cross-referenced. Some other techspeak senses of jargon words\
are listed in order to make the jargon senses clear; where the text does\
not specify that a straight technical sense is under discussion, these\
are marked with `[techspeak]' as an etymology. Some entries have a\
primary sense marked this way, with subsequent jargon meanings explained\
in terms of it.\
We have also tried to indicate (where known) the apparent origins of\
terms. The results are probably the least reliable information in the\
lexicon, for several reasons. For one thing, it is well known that many\
hackish usages have been independently reinvented multiple times, even\
among the more obscure and intricate neologisms. It often seems that\
the generative processes underlying hackish jargon formation have an\
internal logic so powerful as to create substantial parallelism across\
separate cultures and even in different languages! For another, the\
networks tend to propagate innovations so quickly that `first use' is\
often impossible to pin down. And, finally, compendia like this one\
alter what they observe by implicitly stamping cultural approval on\
terms and widening their use.\
:Revision History:\
==================\
The original Jargon File was a collection of hacker jargon from\
technical cultures including the MIT AI Lab, the Stanford AI lab (SAIL),\
and others of the old ARPANET AI/LISP/PDP-10 communities including Bolt,\
Beranek and Newman (BBN), Carnegie-Mellon University (CMU), and\
Worcester Polytechnic Institute (WPI).\
The Jargon File (hereafter referred to as `jargon-1' or `the File') was\
begun by Raphael Finkel at Stanford in 1975. From this time until the\
plug was finally pulled on the SAIL computer in 1991, the File was named\
AIWORD.RF[UP,DOC] there. Some terms in it date back considerably\
earlier (\{frob\} and some senses of \{moby\}, for instance, go back to the\
Tech Model Railroad Club at MIT and are believed to date at least back\
to the early 1960s). The revisions of jargon-1 were all unnumbered and\
may be collectively considered `Version 1'.\
In 1976, Mark Crispin, having seen an announcement about the File on the\
SAIL computer, \{FTP\}ed a copy of the File to MIT. He noticed that it\
was hardly restricted to `AI words' and so stored the file on his\
directory as AI:MRC;SAIL JARGON.\
The file was quickly renamed JARGON > (the `>' means numbered with a\
version number) as a flurry of enhancements were made by Mark Crispin\
and Guy L. Steele Jr. Unfortunately, amidst all this activity, nobody\
thought of correcting the term `jargon' to `slang' until the compendium\
had already become widely known as the Jargon File.\
Raphael Finkel dropped out of active participation shortly thereafter\
and Don Woods became the SAIL contact for the File (which was\
subsequently kept in duplicate at SAIL and MIT, with periodic\
resynchronizations).\
The File expanded by fits and starts until about 1983; Richard Stallman\
was prominent among the contributors, adding many MIT and ITS-related\
coinages.\
In Spring 1981, a hacker named Charles Spurgeon got a large chunk of the\
File published in Russell Brand's `CoEvolution Quarterly' (pages 26-35)\
with illustrations by Phil Wadler and Guy Steele (including a couple of\
the Crunchly cartoons). This appears to have been the File's first\
paper publication.\
A late version of jargon-1, expanded with commentary for the mass\
market, was edited by Guy Steele into a book published in 1983 as `The\
Hacker's Dictionary' (Harper & Row CN 1082, ISBN 0-06-091082-8). The\
other jargon-1 editors (Raphael Finkel, Don Woods, and Mark Crispin)\
contributed to this revision, as did Richard M. Stallman and Geoff\
Goodfellow. This book (now out of print) is hereafter referred to as\
`Steele-1983' and those six as the Steele-1983 coauthors.\
Shortly after the publication of Steele-1983, the File effectively\
stopped growing and changing. Originally, this was due to a desire to\
freeze the file temporarily to facilitate the production of Steele-1983,\
but external conditions caused the `temporary' freeze to become\
permanent.\
The AI Lab culture had been hit hard in the late 1970s by funding cuts\
and the resulting administrative decision to use vendor-supported\
hardware and software instead of homebrew whenever possible. At MIT,\
most AI work had turned to dedicated LISP Machines. At the same time,\
the commercialization of AI technology lured some of the AI Lab's best\
and brightest away to startups along the Route 128 strip in\
Massachusetts and out West in Silicon Valley. The startups built LISP\
machines for MIT; the central MIT-AI computer became a \{TWENEX\} system\
rather than a host for the AI hackers' beloved \{ITS\}.\
The Stanford AI Lab had effectively ceased to exist by 1980, although\
the SAIL computer continued as a Computer Science Department resource\
until 1991. Stanford became a major \{TWENEX\} site, at one point\
operating more than a dozen TOPS-20 systems; but by the mid-1980s most\
of the interesting software work was being done on the emerging BSD UNIX\
standard.\
In April 1983, the PDP-10-centered cultures that had nourished the File\
were dealt a death-blow by the cancellation of the Jupiter project at\
Digital Equipment Corporation. The File's compilers, already dispersed,\
moved on to other things. Steele-1983 was partly a monument to what its\
authors thought was a dying tradition; no one involved realized at the\
time just how wide its influence was to be.\
By the mid-1980s the File's content was dated, but the legend that had\
grown up around it never quite died out. The book, and softcopies\
obtained off the ARPANET, circulated even in cultures far removed from\
MIT and Stanford; the content exerted a strong and continuing influence\
on hackish language and humor. Even as the advent of the microcomputer\
and other trends fueled a tremendous expansion of hackerdom, the File\
(and related materials such as the AI Koans in Appendix A) came to be\
seen as a sort of sacred epic, a hacker-culture Matter of Britain\
chronicling the heroic exploits of the Knights of the Lab. The pace of\
change in hackerdom at large accelerated tremendously --- but the Jargon\
File, having passed from living document to icon, remained essentially\
untouched for seven years.\
This revision contains nearly the entire text of a late version of\
jargon-1 (a few obsolete PDP-10-related entries were dropped after\
careful consultation with the editors of Steele-1983). It merges in\
about 80% of the Steele-1983 text, omitting some framing material and a\
very few entries introduced in Steele-1983 that are now also obsolete.\
This new version casts a wider net than the old Jargon File; its aim is\
to cover not just AI or PDP-10 hacker culture but all the technical\
computing cultures wherein the true hacker-nature is manifested. More\
than half of the entries now derive from \{USENET\} and represent jargon\
now current in the C and UNIX communities, but special efforts have been\
made to collect jargon from other cultures including IBM PC programmers,\
Amiga fans, Mac enthusiasts, and even the IBM mainframe world.\
Eric S. Raymond <eric@snark.thyrsus.com> maintains the new File with\
assistance from Guy L. Steele Jr. <gls@think.com>; these are the persons\
primarily reflected in the File's editorial `we', though we take\
pleasure in acknowledging the special contribution of the other\
coauthors of Steele-1983. Please email all additions, corrections, and\
correspondence relating to the Jargon File to jargon@thyrsus.com\
(UUCP-only sites without connections to an autorouting smart site can\
use ...!uunet!snark!jargon).\
(Warning: other email addresses appear in this file *but are not\
guaranteed to be correct* later than the revision date on the first\
line. *Don't* email us if an attempt to reach your idol bounces --- we\
have no magic way of checking addresses or looking up people.)\
The 2.9.6 version became the main text of `The New Hacker's Dictionary',\
by Eric Raymond (ed.), MIT Press 1991, ISBN 0-262-68069-6. The\
maintainers are committed to updating the on-line version of the Jargon\
File through and beyond paper publication, and will continue to make it\
available to archives and public-access sites as a trust of the hacker\
community.\
Here is a chronology of the high points in the recent on-line revisions:\
Version 2.1.1, Jun 12 1990: the Jargon File comes alive again after a\
seven-year hiatus. Reorganization and massive additions were by Eric S.\
Raymond, approved by Guy Steele. Many items of UNIX, C, USENET, and\
microcomputer-based jargon were added at that time (as well as The\
Untimely Demise of Mabel The Monkey).\
Version 2.9.6, Aug 16 1991: corresponds to reproduction copy for book.\
This version had 18952 lines, 148629 words, 975551 characters, and 1702\
entries.\
Version 2.9.8, Jan 01 1992: first public release since the book,\
including over fifty new entries and numerous corrections/additions to\
old ones. Packaged with version 1.1 of vh(1) hypertext reader. This\
version had 19509 lines, 153108 words, 1006023 characters, and 1760\
entries.\
Version 2.9.9, Apr 01 1992: folded in XEROX PARC lexicon. This version\
had 20298 lines, 159651 words, 1048909 characters, and 1821 entries.\
Version 2.9.10, Jul 01 1992: lots of new historical material. This\
version had 21349 lines, 168330 words, 1106991 characters, and 1891\
entries.\
Version numbering: Version numbers should be read as\
major.minor.revision. Major version 1 is reserved for the `old' (ITS)\
Jargon File, jargon-1. Major version 2 encompasses revisions by ESR\
(Eric S. Raymond) with assistance from GLS (Guy L. Steele, Jr.).\
Someday, the next maintainer will take over and spawn `version 3'.\
Usually later versions will either completely supersede or incorporate\
earlier versions, so there is generally no point in keeping old versions\
around.\
Our thanks to the coauthors of Steele-1983 for oversight and assistance,\
and to the hundreds of USENETters (too many to name here) who\
contributed entries and encouragement. More thanks go to several of the\
old-timers on the USENET group alt.folklore.computers, who contributed\
much useful commentary and many corrections and valuable historical\
perspective: Joseph M. Newcomer <jn11+@andrew.cmu.edu>, Bernie Cosell\
<cosell@bbn.com>, Earl Boebert <boebert@SCTC.com>, and Joe Morris\
<jcmorris@mwunix.mitre.org>.\
We were fortunate enough to have the aid of some accomplished linguists.\
David Stampe <stampe@uhunix.uhcc.hawaii.edu> and Charles Hoequist\
<hoequist@bnr.ca> contributed valuable criticism; Joe Keane\
<jgk@osc.osc.com> helped us improve the pronunciation guides.\
A few bits of this text quote previous works. We are indebted to Brian\
A. LaMacchia <bal@zurich.ai.mit.edu> for obtaining permission for us to\
use material from the `TMRC Dictionary'; also, Don Libes\
<libes@cme.nist.gov> contributed some appropriate material from his\
excellent book `Life With UNIX'. We thank Per Lindberg <per@front.se>,\
author of the remarkable Swedish-language 'zine `Hackerbladet', for\
bringing `FOO!' comics to our attention and smuggling one of the IBM\
hacker underground's own baby jargon files out to us. Thanks also to\
Maarten Litmaath for generously allowing the inclusion of the ASCII\
pronunciation guide he formerly maintained. And our gratitude to Marc\
Weiser of XEROX PARC <Marc_Weiser.PARC@xerox.com> for securing us\
permission to quote from PARC's own jargon lexicon and shipping us a\
copy.\
It is a particular pleasure to acknowledge the major contributions of\
Mark Brader <msb@sq.com> to the final manuscript; he read and reread\
many drafts, checked facts, caught typos, submitted an amazing number of\
thoughtful comments, and did yeoman service in catching typos and minor\
usage bobbles. Mr. Brader's rare combination of enthusiasm,\
persistence, wide-ranging technical knowledge, and precisionism in\
matters of language made his help invaluable, and the sustained volume\
and quality of his input over many months only allowed him to escape\
co-editor credit by the slimmest of margins.\
Finally, George V. Reilly <gvr@cs.brown.edu> helped with TeX arcana and\
painstakingly proofread some 2.7 and 2.8 versions; Steve Summit\
<scs@adam.mit.edu> contributed a number of excellent new entries and\
many small improvements to 2.9.10; and Eric Tiedemann <est@thyrsus.com>\
contributed sage advice throughout on rhetoric, amphigory, and\
philosophunculism.\
:How Jargon Works:\
******************\
:Jargon Construction:\
=====================\
There are some standard methods of jargonification that became\
established quite early (i.e., before 1970), spreading from such sources\
as the Tech Model Railroad Club, the PDP-1 SPACEWAR hackers, and John\
McCarthy's original crew of LISPers. These include the following:\
:Verb Doubling: --------------- A standard construction in English is to\
double a verb and use it as an exclamation, such as "Bang, bang!" or\
"Quack, quack!". Most of these are names for noises. Hackers also\
double verbs as a concise, sometimes sarcastic comment on what the\
implied subject does. Also, a doubled verb is often used to terminate a\
conversation, in the process remarking on the current state of affairs\
or what the speaker intends to do next. Typical examples involve \{win\},\